b481a6
@@ -87,8 +87,8 @@
public class AccessControlListTag extends TagSupport {
             return skipBody();
         }
 
-        String[] requiredPermissions = hasPermission.split(",");
-        for(String requiredPermission : requiredPermissions) {
+        List<Object> requiredPermissions = parseHasPermission(hasPermission);
+        for(Object requiredPermission : requiredPermissions) {
             if (!permissionEvaluator.hasPermission(authentication, domainObject, requiredPermission)) {
                 return skipBody();
             }
@@ -97,6 +97,19 @@
public class AccessControlListTag extends TagSupport {
         return evalBody();
     }
 
+    private List<Object> parseHasPermission(String hasPermission) {
+        String[] requiredPermissions = hasPermission.split(",");
+        List<Object> parsedPermissions = new ArrayList<Object>(requiredPermissions.length);
+        for(String permissionToParse : requiredPermissions) {
+            Object parsedPermission = permissionToParse;
+            try {
+                parsedPermission = Integer.parseInt(permissionToParse);
+            }catch(NumberFormatException notBitMask) {}
+            parsedPermissions.add(parsedPermission);
+        }
+        return parsedPermissions;
+    }
+
     private int skipBody() {
         if (var != null) {
             pageContext.setAttribute(var, Boolean.FALSE, PageContext.PAGE_SCOPE);
